home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1995-10-14 | 17.3 KB | 546 lines |
- Screen Open 0,320,256,16,Lowres : Flash Off : Close Workbench
- Break Off : Amos Lock
- TITEL:
- Unpack 0 To 0 : Limit Mouse 236,168 To 328,235
- Reserve Zone 3
- Set Zone 1,110,128 To 197,147 : Rem <- Start Knopf
- Set Zone 2,110,150 To 197,168 : Rem <- Passwort Knopf
- Set Zone 3,110,171 To 197,191 : Rem <- Ende Knopf
-
- Do
- If 1=Hzone(X Mouse,Y Mouse) and Mouse Key=1 Then LEVEL=1 : Goto SPIEL
- If 2=Hzone(X Mouse,Y Mouse) and Mouse Key=1 Then Goto PASSWORT
- If 3=Hzone(X Mouse,Y Mouse) and Mouse Key=1 Then Gosub INDE
- Loop
- SPIEL:
- 'Fade 1 : Wait 15
- Limit Mouse 176,47 To 400,236
- Screen Open 1,640,38,16,Hires : Screen Display 1,,248,, : Curs Off : Colour 1,$0
- Screen Open 0,320,256,32,Lowres
-
- Curs Off : Flash Off
- '
- ' Die Memory Bank braucht bei 10 Leveln ca. 50 Kbyte weniger
- ' Speicher als dim c(3,40,40)
- '
-
-
- Unpack 3 To 0
- Screen To Front 1
- 'Cls 0
- Double Buffer
- Autoback 0
- '
- ' LEV = Level (0-9)
- ' X/Y = Position (3-37)
- ' R = Richtung 1=NORD / 2=OST / 3=SUED / 4=WEST
- ' XC/YC = Position des Dungeons auf dem Bildschirm
- ' F1/F2 = Spiegelung des Hintergrund Bob bei einem Schritt
- ' BU = Knopf Nummer ...
- '
- If LEVEL=1 Then X=10 : Y=9 : R=4 : XC=48 : YC=5 : F1=$8001 : F2=$1 : BU=0 : LEV=0
- If LEVEL=2 Then X=14 : Y=11 : R=2 : XC=48 : YC=5 : F1=$8001 : F2=$1 : BU=0 : LEV=1
- If LEVEL=3 Then X=5 : Y=25 : R=1 : XC=48 : YC=5 : F1=$8001 : F2=$1 : BU=0 : LEV=2
- If LEVEL=4 Then X=16 : Y=37 : R=4 : XC=48 : YC=5 : F1=$8001 : F2=$1 : BU=0 : LEV=3
-
- Global X,Y,R,T,XC,YC,F1,F2,LEV,BU
- _ZONE
- _DRAW
- Limit Bob 49,10 To 272,140
- Screen Copy Logic To Physic
- Limit Bob 49,10 To 272,140
-
- ' Hauptschleife
- '
-
- If LEV=0 : Colour 13,$70 : Colour 15,$90 : Colour 2,$60 : Colour 1,$30 : Colour 12,$10 : End If
- If LEV=1 : Colour 13,$700 : Colour 15,$900 : Colour 2,$600 : Colour 1,$300 : Colour 12,$100 : End If
- If LEV=2 : Colour 13,$7 : Colour 15,$9 : Colour 2,$6 : Colour 1,$3 : Colour 12,$1 : End If
- If LEV=3 : Colour 13,$222 : Colour 15,$333 : Colour 2,$111 : Colour 1,$0 : Colour 12,$111 : End If
-
- Repeat
- _TASTE
- Until T=69
- '
- ' UM EINEN SPIELSTAND ZU SICHERN EINFACH
- ' BANK 2 UND DIE VARIABLEN X + Y + R + LEV SPEICHERN
- Erase 1
- Erase 2
- Erase 5
- '
- ' Ende
- '
- End
- '
- '
- '
-
- Procedure _ZONE
- Reserve Zone 11
- Set Zone 1,122,151 To 148,170
- Set Zone 2,152,151 To 176,170
- Set Zone 3,180,151 To 205,170
- Set Zone 4,122,173 To 148,191
- Set Zone 5,152,173 To 176,191
- Set Zone 6,180,173 To 205,191
- End Proc
- Procedure _TASTE
- ST=Start(2)+LEV*1681
- Repeat
- M=Mouse Key
- MZ=Mouse Zone
- A$=Inkey$
- T=Scancode
- Until A$<>"" or M=1
- X1=X : Y1=Y
- If MZ=2 and M Then T=76
- If MZ=5 and M Then T=77
- If MZ=6 and M Then T=78
- If MZ=4 and M Then T=79
- If BU>0 and MZ=7 and M Then _BUTTONPRESS
- If BU>0 and Asc(A$)=13 Then _BUTTONPRESS
- If R=1 and T=76 Then Dec Y1
- If R=2 and T=76 Then Inc X1
- If R=3 and T=76 Then Inc Y1
- If R=4 and T=76 Then Dec X1
- If R=1 and T=77 Then Inc Y1
- If R=2 and T=77 Then Dec X1
- If R=3 and T=77 Then Dec Y1
- If R=4 and T=77 Then Inc X1
- If R=1 and T=78 Then Inc X1
- If R=2 and T=78 Then Inc Y1
- If R=3 and T=78 Then Dec X1
- If R=4 and T=78 Then Dec Y1
- If R=1 and T=79 Then Dec X1
- If R=2 and T=79 Then Dec Y1
- If R=3 and T=79 Then Inc X1
- If R=4 and T=79 Then Inc Y1
- If T=70 or MZ=1 and M Then R=R-1 : If R=0 Then R=4
- If T=95 or MZ=3 and M Then R=R+1 : If R=5 Then R=1
- C=Peek(ST+X1+Y1*41)
- If C=3
- Inc LEV
- If LEV=0 : Colour 13,$70 : Colour 15,$90 : Colour 2,$60 : Colour 1,$30 : Colour 12,$10 : End If
- If LEV=1 : Colour 13,$700 : Colour 15,$900 : Colour 2,$600 : Colour 1,$300 : Colour 12,$100 : End If
- If LEV=2 : Colour 13,$7 : Colour 15,$9 : Colour 2,$6 : Colour 1,$3 : Colour 12,$1 : End If
- If LEV=3 : Colour 13,$222 : Colour 15,$333 : Colour 2,$111 : Colour 1,$0 : Colour 12,$111 : End If
- End If
- If C=2
- Dec LEV
- If LEV=0 : Colour 13,$70 : Colour 15,$90 : Colour 2,$60 : Colour 1,$30 : Colour 12,$10 : End If
- If LEV=1 : Colour 13,$700 : Colour 15,$900 : Colour 2,$600 : Colour 1,$300 : Colour 12,$100 : End If
- If LEV=2 : Colour 13,$7 : Colour 15,$9 : Colour 2,$6 : Colour 1,$3 : Colour 12,$1 : End If
- If LEV=3 : Colour 13,$222 : Colour 15,$333 : Colour 2,$111 : Colour 1,$0 : Colour 12,$111 : End If
- If LEV=-1 : Fade 10 : Wait 150
- Default : Curs Off : Hide
- Print
- Centre "Well done!" : Print : Print
- Centre "You escaped the enemy" : Print
- Centre "and saved the world." : Print : Print : Print : Print : Print
- Centre "Dungeon Hero was created by Frank Otto" : Print : Print : Print
- Centre "Click mouse to continue."
- While Mouse Click=0 : Wend
- Fade 3 : Wait 45
- End : End If
- End If
- ST=Start(2)+LEV*1681
- C=Peek(ST+X1+Y1*41)
- If C>0 and C<6 and X<>X1 or C>0 and C<6 and Y<>Y1
- If X1>1 and X1<38 and Y1>1 and Y1<38
- Swap F1,F2 : Limit Bob 49,10 To 272,140
- X=X1 : Y=Y1
- End If
- Else
- C=Peek(ST+X1+Y1*41)
- If C<1 or C>5
- Shoot
- End If
- End If
- _DRAW
- Screen Swap : Wait Vbl
- End Proc
- Procedure _DRAW
- Limit Bob 49,10 To 272,140
-
- Cls 0,48,5 To 272,140
- Cls 0,120,100 To 207,195
- Paste Bob XC,YC,F1
- Paste Bob 120,150,16
- _DRAWDUNGEON
- ' Cls 0,0,0 To 48,200
- ' Cls 0,272,0 To 320,200
- Colour 3,$802
- Ink 8,0
- ' Text 20,10,"Level:"
- Text 11,28,Str$(LEV)
- ' Text 275,40,"Y:"
- Text 290,30,Str$(X)
- ' Text 275,70,"X:"
- Text 280,70,Str$(Y)
- '
- ' ********************** HIER FUER EIGENE LEVEL AENDERN ****************
- '
- ' SCHREIBT Z.B. EINEN TEXT WENN MAN IN LEVEL 0 AN POSIT. x=9/y=10 STEHT
- ' UND RICHTUNG (R=1) NORDEN SCHAUT
- BU=0
-
- If R=1
- Text 145,148,"North"
- ' If LEV=0 and Y=9 and X=10
- ' _TEXT[""]
- ' End If
- If LEV=1 and Y=11 and X=14
- _TEXT["kerenas"]
- End If
- If LEV=2 and Y=3 and X=5
- BUTTON[160,67]
- BU=7
- End If
- If LEV=0 and Y=11 and X=12
- Screen 1 : CLEAR : Locate ,0 : Cline : Print "Behind this door is the exit." : Screen 0
- End If
- End If
- ' HIER DAS SELBE IN GRUEN FUER RICHTUNG OSTEN (R=2)
- If R=2
- Text 145,148,"East"
- If LEV=0 and Y=17 and X=6
- _TEXT["room of illusions"]
- End If
- If LEV=1 and Y=11 and X=17
- BUTTON[219,52]
- BU=6
- End If
- If LEV=2 and Y=21 and X=7
- BUTTON[219,52]
- BU=8
- End If
- End If
- ' HIER WIRD DER KNOPF NR. 2 FUER DIE TUER GEMALT (Proc BUTTON[x,y])
- ' UND AKTIVIERT (BU=2)
- ' ABGEFRAGT WAS PASSIERT WENN DER KNOPF NR.2 GEDRUECKT WIRD
- ' ERFOLGT IN DER PROCEDURE (_BUTTONPRESS)
- If R=3
- Text 145,148,"South"
- If LEV=3 and Y=37 and X=16
- _TEXT["aronid"]
- End If
- If LEV=0 and Y=13 and X=8
- BUTTON[180,60]
- BU=2
- End If
- End If
- If R=4
- Text 145,148,"West "
- If LEV=2 and Y=24 and X=5
- _TEXT["daronef"]
- End If
- If LEV=0 and Y=4 and X=3
- BUTTON[160,67]
- BU=3
- End If
- If LEV=0 and Y=11 and X=6
- BUTTON[219,52]
- BU=4
- End If
- End If
- If LEV=0 and Y=12 and X=8
- Screen 1 : CLEAR : Locate ,0 : Cline : Print "Here lies a skeleton. It looks as if it came from the southern wall." : Screen 0
- End If
- If LEV=0 and Y=9 and X=10
- Screen 1 : CLEAR : Locate ,0 : Cline : Print "There is something in the middle of the room." : Screen 0
- End If
- If LEV=0 and Y=15 and X=8
- Screen 1 : CLEAR : Locate ,0 : Cline : Print "Here are the remains of weapons and equipment but all has been destroyed." : Screen 0
- End If
- If LEV=0 and Y=11 and X=6
- Screen 1 : CLEAR : Screen 0
- End If
- If LEV=0 and Y=19 and X=6
- Screen 1 : CLEAR : Locate ,0 : Cline : Print "A liitle breath is coming from the northern wall." : Screen 0
- End If
- If LEV=0 and Y=11 and X=27
- Screen 1 : CLEAR : Locate ,0 : Cline : Print "Behind this door is the exit." : Screen 0
- End If
- If LEV=0 and Y=17 and X=8
- Screen 1 : CLEAR : Screen 0
- End If
- If LEV=1 and Y=11 and X=14
- Screen 1 : CLEAR : Screen 0
- End If
- If LEV=1 and Y=11 and X=24
- Screen 1 : CLEAR : Screen 0
- End If
- If LEV=4 and Y=17 and X=18
- _TEXT["ende"]
- End If
- If LEV=4 and Y=17 and X=22
- _TEXT["ende"]
- End If
- End Proc
- Procedure _DRAWDUNGEON
- ' ********************* ACHTUNG ******************
- ' MAN KANN DIE BERECHNUNG DES DUNGEUN ZWAR VERKUERZEN
- ' WAS BEI MEINEM 68030 AUCH ZU EINER ERHEBLICHEN GESCHWINDIGKEITS
- ' STEIGERUNG FUEHRT, DOCH EIN NORMALER AMIGA MUSS DANN ZUVIEL
- ' BERECHNEN UND SCHLAEFT FAST EIN !
- ' ALSO HIER ALLES GANZ AUSFUEHRLICH:
- ' Links
- ST=Start(2)+LEV*1681
- If R=1 and Peek(ST+X-2+(Y-2)*41)<2 and Peek(ST+X-1+(Y-1)*41)>1 Then Paste Bob XC,YC,9
- If R=2 and Peek(ST+X+2+(Y-2)*41)<2 and Peek(ST+X+1+(Y-1)*41)>1 Then Paste Bob XC,YC,9
- If R=3 and Peek(ST+X+2+(Y+2)*41)<2 and Peek(ST+X+1+(Y+1)*41)>1 Then Paste Bob XC,YC,9
- If R=4 and Peek(ST+X-2+(Y+2)*41)<2 and Peek(ST+X-1+(Y+1)*41)>1 Then Paste Bob XC,YC,9
- If R=1 Then C=Peek(ST+X-1+(Y-3)*41)
- If R=2 Then C=Peek(ST+X+3+(Y-1)*41)
- If R=3 Then C=Peek(ST+X+1+(Y+3)*41)
- If R=4 Then C=Peek(ST+X-3+(Y+1)*41)
- If C<2 Then Paste Bob XC,YC,8
- If C=2 Then Paste Bob XC,YC,12
- If C=3 Then Paste Bob XC,YC,15
- If C=5 Then Paste Bob XC,YC,9 : Paste Bob XC+11,YC+29,19
- If C=6 Then Paste Bob XC,YC,9 : Paste Bob XC+11,YC+29,19 : Paste Bob XC+19,YC+30,23
- If R=1 Then C=Peek(ST+X-1+(Y-2)*41) : C1=Peek(ST+X-1+(Y-1)*41)
- If R=2 Then C=Peek(ST+X+2+(Y-1)*41) : C1=Peek(ST+X+1+(Y-1)*41)
- If R=3 Then C=Peek(ST+X+1+(Y+2)*41) : C1=Peek(ST+X+1+(Y+1)*41)
- If R=4 Then C=Peek(ST+X-2+(Y+1)*41) : C1=Peek(ST+X-1+(Y+1)*41)
- If C<2 Then Paste Bob XC,YC,7
- If C=2 and C1=4 Then Paste Bob XC-20,YC,11
- If C=3 and C1=4 Then Paste Bob XC-20,YC,14
- If C=5 and C1=4 Then Paste Bob XC-9,YC+23,18
- If C=6 and C1=4 Then Paste Bob XC-9,YC+23,18 : Paste Bob XC+4,YC+24,22
- If R=1 Then C=Peek(ST+X-1+(Y-1)*41) : C1=Peek(ST+X-1+Y*41)
- If R=2 Then C=Peek(ST+X+1+(Y-1)*41) : C1=Peek(ST+X+(Y-1)*41)
- If R=3 Then C=Peek(ST+X+1+(Y+1)*41) : C1=Peek(ST+X+1+Y*41)
- If R=4 Then C=Peek(ST+X-1+(Y+1)*41) : C1=Peek(ST+X+(Y+1)*41)
- If C<2 Then Paste Bob XC,YC,6
- If C=2 and C1=4 Then Paste Bob XC-60,YC,10
- If C=3 and C1=4 Then Paste Bob XC-60,YC,26
- If C=6 and C1=4 Then Paste Bob XC-9,YC+17,24
- If C1<2 Then Paste Bob XC,YC,5
- ' Rechts
- If R=1 and Peek(ST+X+2+(Y-2)*41)<2 and Peek(ST+X+1+(Y-1)*41)>1 Then Paste Bob XC+192,YC,$8009
- If R=2 and Peek(ST+X+2+(Y+2)*41)<2 and Peek(ST+X+1+(Y+1)*41)>1 Then Paste Bob XC+192,YC,$8009
- If R=3 and Peek(ST+X-2+(Y+2)*41)<2 and Peek(ST+X-1+(Y+1)*41)>1 Then Paste Bob XC+192,YC,$8009
- If R=4 and Peek(ST+X-2+(Y-2)*41)<2 and Peek(ST+X-1+(Y-1)*41)>1 Then Paste Bob XC+192,YC,$8009
- If R=1 Then C=Peek(ST+X+1+(Y-3)*41)
- If R=2 Then C=Peek(ST+X+3+(Y+1)*41)
- If R=3 Then C=Peek(ST+X-1+(Y+3)*41)
- If R=4 Then C=Peek(ST+X-3+(Y-1)*41)
- If C<2 Then Paste Bob XC+128,YC,$8000+8
- If C=2 Then Paste Bob XC+148,YC,12
- If C=3 Then Paste Bob XC+148,YC,15
- If C=5 Then Paste Bob XC+192,YC,$8009 : Paste Bob XC+151,YC+29,19
- If C=6 Then Paste Bob XC+192,YC,$8009 : Paste Bob XC+151,YC+29,19 : Paste Bob XC+159,YC+30,23
- If R=1 Then C=Peek(ST+X+1+(Y-2)*41) : C1=Peek(ST+X+1+(Y-1)*41)
- If R=2 Then C=Peek(ST+X+2+(Y+1)*41) : C1=Peek(ST+X+1+(Y+1)*41)
- If R=3 Then C=Peek(ST+X-1+(Y+2)*41) : C1=Peek(ST+X-1+(Y+1)*41)
- If R=4 Then C=Peek(ST+X-2+(Y-1)*41) : C1=Peek(ST+X-1+(Y-1)*41)
- If C<2 Then Paste Bob XC+144,YC,$8000+7
- If C=2 and C1=4 Then Paste Bob XC+139,YC,11
- If C=3 and C1=4 Then Paste Bob XC+139,YC,14
- If C=5 and C1=4 Then Paste Bob XC+139,YC+23,18
- If C=6 and C1=4 Then Paste Bob XC+139,YC+23,18 : Paste Bob XC+154,YC+24,22
- If R=1 Then C=Peek(ST+X+1+(Y-1)*41) : C1=Peek(ST+X+1+Y*41)
- If R=2 Then C=Peek(ST+X+1+(Y+1)*41) : C1=Peek(ST+X+(Y+1)*41)
- If R=3 Then C=Peek(ST+X-1+(Y+1)*41) : C1=Peek(ST+X-1+Y*41)
- If R=4 Then C=Peek(ST+X-1+(Y-1)*41) : C1=Peek(ST+X+(Y-1)*41)
- If C<2 Then Paste Bob XC+160,YC,$8000+6
- If C=2 and C1=4 Then Paste Bob XC+114,YC,10
- If C=3 and C1=4 Then Paste Bob XC+114,YC,13
- If C=6 and C1=4 Then Paste Bob XC+183,YC+17,24
- If C1<2 Then Paste Bob XC+192,YC,$8000+5
- ' Mitte
- I=5
- If R=1 Then JA=-3 : JB=-1 : JS=1 : RI=1
- If R=2 Then JA=3 : JB=1 : JS=-1 : RI=0
- If R=3 Then JA=3 : JB=1 : JS=-1 : RI=1
- If R=4 Then JA=-3 : JB=-1 : JS=1 : RI=0
- J1=0
- For J=JA To JB Step JS
- Dec I
- If I=4 Then BW=74 : TUY=29 : TUX=6 : TU1=14 : TU2=30
- If I=3 Then BW=60 : TUY=23 : TUX=5 : TU1=20 : TU2=24
- If I=2 Then BW=32 : TUY=14 : TUX=10 : TU1=31 : TU2=17
- If RI=1 Then Swap J,J1 : Limit Bob 49,10 To 272,140
- C=Peek(ST+X+J+(Y+J1)*41)
- If C<2 Then Paste Bob XC+BW,YC,I
- If C<2 and I=2 and Peek(ST+X+Y*41)=5 Then Paste Bob XC+95,YC,20
- If C=2 Then Paste Bob XC+BW,YC,I+8
- If C=3 Then Paste Bob XC+BW,YC,I+11
- If C=5 Then Paste Bob XC+BW+TUX,YC+TUY,I+15
- If C=6 Then Paste Bob XC+BW+TUX,YC+TUY,I+15 : Paste Bob XC+TU1+BW,YC+TU2,I+19
- If RI=1 Then Swap J,J1
- Next J
- End Proc
- Procedure _TEXT[T$]
- TX=XC+(224-Len(T$)*8)/2
- TY=50
- T$=Upper$(T$)
- Gr Writing 0
- Ink 15 : Text TX-1,YC+TY-1,T$
- ' Ink 0 : Text TX+1,YC+TY+1,T$
- Ink 0 : Text TX,YC+TY,T$
- Ink 8,0 : Gr Writing 1
- End Proc
- Procedure _OEFFNETUER
- Update Off
- TU1=63
- _DRAW
- Get Bob 0,25,XC,YC+17 To XC+63,110
- Limit Bob 1,10,20 To 130,140
- Repeat
- Bob Clear
- Bob 0,XC+TU1,YC+17,21
- Bob 1,XC,YC+17,25
- Bob Draw
- ' Cls 0,0,20 To XC,200
- Screen Swap : Wait Vbl
- If TU1=63 Then _DRAW
- TU1=TU1-2
- Until TU1<-29
- Boom
- End Proc
- Procedure _SCHLIESSTUER
- Update Off
- TU1=-37
- _DRAW
- Get Bob 0,25,XC,YC+17 To XC+63,110
- Repeat
- Bob Clear
- Bob 0,XC+TU1,YC+17,21
- Bob 1,XC,YC+17,25
- Bob Draw
- ' Cls 0,0,20 To XC,200
- Screen Swap : Wait Vbl
- If TU1=-37 Then _DRAW
- TU1=TU1+2
- Until TU1=63
- Boom
- End Proc
- Procedure _BUTTONPRESS
- '
- ' ***************** MUSS FUER EIGENE LABYRINTHE GEAENDERT WERDEN ************
- ' Poke(st+X+Y*41),A
- ' A = --------------
- ' 0 = Wand
- ' 1 = Imaginaere Wand
- ' 2/3 = Treppe
- ' 4 = Freie Stelle
- ' 5 = Rahmen (offene Tuer)
- ' 6 = Tuer + Rahmen
- '
- ' HIER EIN PAAR BEISPIELE
- ' WENN KNOPF NR.3 GEDRUECKT DANN OEFFNE WAND AN POSIT. x=11/y=12
- ST=Start(2)+LEV*1681
- If BU=3
- Poke(ST+11+12*41),4
- Bell
- End If
- '
- ' WENN KNOPF NR.2 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT. x=8/y=14
- If BU=2
- Boom
- End If
- '
- '
- ' WENN KNOPF NR.4 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT. x=5/y=11
- If BU=4
- If Peek(ST+5+11*41)=6
- Poke(ST+5+11*41),5
- _OEFFNETUER
- ' WENN KNOPF NR.4 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=5/y=11
- Else
- _SCHLIESSTUER
- Poke(ST+5+11*41),6
- End If
- End If
- '
- '
- ' WENN KNOPF NR.5 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT. x=12/y=12
- If BU=5
- If Peek(ST+12+12*41)=6
- Poke(ST+12+12*41),5
- _OEFFNETUER
- ' WENN KNOPF NR.5 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=12/y=12
- Else
- _SCHLIESSTUER
- Poke(ST+12+12*41),6
- End If
- End If
-
-
- ' WENN KNOPF NR 6 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT 0.0X=11/Y=18
- If BU=6
- If Peek(ST+18+11*41)=6
- Poke(ST+18+11*41),5
- _OEFFNETUER
- ' WENN KNOPF NR.6 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=11/y=18
- Else
- _SCHLIESSTUER
- Poke(ST+18+11*41),6
- End If
- End If
- ' WENN KNOPF NR 7 GEDRUECKT UND TUER IST ZU DANN OEFFNE WAND AN POSIT X=6/Y=21
- If BU=7
- If Peek(ST+6+21*41)=0
- Poke(ST+6+21*41),4
- Screen 1 : CLEAR : Locate ,0 : Cline : Print "Sounds as if a wall is moving." : Screen 0
- ' WENN KNOPF NR.7 GEDRUECKT UND TUER IST AUF DANNgu SCHLIESSE TUER AN POSIT. x=6/y=21
- Else
- Poke(ST+6+21*41),0
- Boom
- End If
- End If
- ' WENN KNOPF NR 8 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT 0.0X=8/Y=21
- If BU=8
- If Peek(ST+8+21*41)=6
- Poke(ST+8+21*41),5
- _OEFFNETUER
- ' WENN KNOPF NR.8 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=8/y=21
- Else
- _SCHLIESSTUER
- Poke(ST+8+21*41),6
- End If
- End If
- If BU=9
- If Peek(ST+14+13*41)=6
- Poke(ST+14+13*41),5
- _OEFFNETUER
- ' WENN KNOPF NR.9 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=8/y=21
- Else
- _SCHLIESSTUER
- Poke(ST+14+13*41),6
- End If
- End If
- End Proc
- Procedure BUTTON[XB,YB]
- Ink 0
- Bar XB-2,YB-2 To XB+2,YB+2
- Ink 3
- Bar XB-1,YB-1 To XB+1,YB+1
- Ink 15
- Plot XB,YB
- Reset Zone 7
- Set Zone 7,XB-2,YB-2 To XB+2,YB+2
- End Proc
-
- PASSWORT:
- Locate 2,28 : Paper 0 : Pen 13 : Input "Password: ";PW$
- Do
- If Upper$(PW$)="KERENAS" Then LEVEL=2 : Exit
- If Upper$(PW$)="ARONID" Then LEVEL=4 : Exit
- If Upper$(PW$)="DARONEF" Then LEVEL=3 : Exit Else LEVEL=1 : Exit
- Loop
- Goto SPIEL
- INDE:
- Gr Writing 0 : Get Block 1,0,200,320,56 : Locate 2,28 : Ink 9 : Text 20,229,"Really quit (Y)es/(N)o? "
-
- Do
- A$=Inkey$
- If A$="y" : Fade 1 : Wait 15 : End : End If
- If A$="n" : Put Block 1 : Return : End : End If
- Loop
-
- Procedure CLEAR
- Ink 0 : Bar 0,0 To 640,40
- End Proc